Wiki
Clone wikiuocte / Eyetec File Format
Because no specification was available for the development of uocte, this file format was reverse engineered for interoperability. The information on this page therefore is incomplete and may be incorrect. It only serves to document which parts of the data are interpreted by uocte.
The files have an .exd
extension, but are actually renamed ZIP-files. Of the contained files, uocts considers mainly the file PatientsFiles/DBData.xml
and the binary files it references. Unfortunately the referenced files typically occur before this file, so uocte reads the .exd
file twice.
DBData.xml
is an ASCII encoded XML file with a complex structure. The following is simplified
ImportExportContainer PortablePatientInfo PortablePatientInfo PatientNameGroup1,PatientBirthDate,PatientSex,EthnicGroup,...,Studies* Studies PortableStudyInfo* PortableStudyInfo ...,FileSyncFiles,Series* Series PortableSeriesInfo* PortableSeriesInfo ...,Contents*,... Contents PortableContentInfo* PortableContentInfo ...,ContentDateTime,...,ContentLaterality,...,FileSyncFiles FileSyncFiles FileDetails* FileDetails Name,Type
The FileDetails
element refers to binary files storing data. Name
gives the path relative to the header file and Type
specifies the type of data the binary file stores. All binary files use little endian storage and all images' origin are lower left. uocte only considers the following file types:
The file of type Images
is a GZIP-compressed, binary file having the following structure:
u32 ? u32 width1 u32 height1 u32[4] ? u8[height1][width1] raw greyscale image of subject's eye u32[31] ? u32 ? u32 width2 u32 height2 u32[4] ? u8[height2][width2] raw greyscale fundus image u32[31] ? u32 ? u32 width3 u32 height3 u32[4] ? u8[height3][width3] raw greyscale maximum intensity projection of tomogram u32[31] ?
The file of type Tomograms
stores raw volumetric data and has the following structure:
u32 ? u32 width u32 height u32 num_slices for i in 1..num_slices u32[6] ? u8[height][width] raw tomogram data u32[32] ?
The resolution in y direction is assumed to be 1.7µm per pixel. This was inferred from matching with contour data. The dimension in x- and z- direction are 12mm and 9mm, respectively. This matches exactly the dimensions of the fundus image.
The file of type AnalysedData
contains contour information and has the following structure:
for i in 1..10 u32 ? u32 width u32 height u32[2] ? u16[height][width] raw contour depth in µm u8[height][width] mask? u32[33] ?
The mask data may or may not be an indicator which values are actually valid. They are currently ignored by uocte.
Updated